package com.iwunu.gateway.service;
import java.util.Map;

/**
 * @author kinfeng
 * @date 2020/4/22 3:07 PM
 * @description
 */
public interface ProtocolDataService {

    /**
     * 2.6 绑定
     * @param baseCode
     * @return
     */
	Map<String,String> bindLock(String baseCode ,String authorization,String type);
	
    /**
     * 2.6.1 绑定
     * @param baseCode
     * @return
     */
	Map<String,String> bindLock(String baseCode);
    /**
     * 2.5 解绑
     * @param baseCode
     * @return
     */
     Map<String,String> unBindLock(String authorization,String baseCode);
     
     /**
      * 2.5.1 解绑
      * @param baseCode
      * @return
      */
      Map<String,String> unBindLock(String baseCode);

    /**
     * u1单个指令开锁
     * @param adminPwd
     * @param mac
     * @return
     */
     Map<String,String> getOpenLockData(Integer adminPwd, String mac);

    /**
     * u1添加密码
     * @param baseCode
     * @param pwd
     * @param startTime
     * @param endTime
     * @return
     */
    Map<String,String> addPwd(String baseCode,String pwd,Integer validCount);
   
    /**
     * 	添加密码
     * @param baseCode
     * @param pwd
     * @param startTime
     * @param endTime
     * @return
     */
    Map<String,String> addBluetoothPwd(Integer basecode, Integer pitNum, Integer pwd);
    /**
     *	添加密码
     * @param baseCode
     * @param pwd
     * @param startTime
     * @param endTime
     * @return
     */
   Map<String,String> addTempPwd(Integer basecode,Integer pitNum,Integer pwd,String startTime,String endTime);
    /**
     * 	修改密码
     * @param baseCode
     * @param pwd
     * @param startTime
     * @param endTime
     * @return
     */
    Map<String,String> updateBluetoothPwd(Integer basecode,  Integer pitNum, Integer pwd);
    
    /**
     * O,F,C锁设置管理员密码
     * @param mac
     * @param oldPwd
     * @param newPwd
     * @return
     */
    Map<String,String> setlockAdminPwd(String mac,String oldPwd,String newPwd);
    /**
     * O类型添加卡号
     * @param baseCode
     * @param cardNo
     * @param startTime
     * @param endTime
     * @return
     */
   Map<String,String> addCard(Integer pitNum,String startTime,String endTime);
    /**
     * u1添加卡号
     * @param baseCode
     * @param cardNo
     * @param startTime
     * @param endTime
     * @return
     */
   Map<String,String> addCardNo(String baseCode,String cardNo,String startTime,String endTime);

    /**
     * u1删除卡号
     * @param baseCode
     * @return
     */
    Map<String,String> delCardNo(Integer baseCode,String cardNo);
    /**
     * u1删除密码
     * @param baseCode
     * @param pwd
     * @return
     */
   Map<String,String> delPwd(Integer baseCode,String pwd);
   /**
   	*     非u/n删除密码
    * @param pitNum
    * @return
    */
   public  Map<String,String> delPitNumPwd(Integer pitNum);
   /**
               *非U/N
	* @param pitNum
	* @return
	*/
	public  Map<String,String> delPitNumCardNo(Integer pitNum);
    /**
     *	 添加指纹
     * @param pitNum
     * @return
     */
    Map<String,String> addNewFingerprint(Integer pitNum,String startTime,String endTime);
	/**
	     *非U/N
	* @param pitNum
	* @return
	*/
	public  Map<String,String> delFinger(Integer pitNum);	
	
	
    /**
     **  删除离线发的卡
     * @param baseCode
     * @param cardNo
     * @param endTime
     * @return
     */
   Map<String,String> delOfflineCardNo(String baseCode, String cardNo, String endTime);

    /**
     **  恢复删除离线发的卡
     * @param baseCode
     * @param cardNo
     * @return
     */
    Map<String,String> recoveryOfflineCardNo(String baseCode, String cardNo);

    /***
     **  删除离线发的限时密码
     * @param baseCode
     * @param pwd
     * @return
     */
    Map<String,String> delOfflineTimelimitedPwd(String baseCode, String pwd);

    /**
     * * 删除离线发的管理密码
     * @param baseCode
     * @param pwd
     * @return
     */
   Map<String,String> delOfflineManagePwd(String baseCode, String pwd);

    /**
     * * 删除所有卡号
     * @param baseCode
     * @param time
     * @return
     */
    Map<String,String> delAllCardNo(String baseCode, String time);
    
    /**
     **  删除所有密码
     * @param baseCode
     * @param time
     * @return
     */
    Map<String,String> delAllPwd(String baseCode, String time);

    /**
     * * 同步时间
     * @param baseCode
     * @return
     */
    Map<String,String> syncTime(String baseCode,String type) ;
    
    /**
     **  同步时间
     * @param baseCode
     * @return
     */
    Map<String,String> syncTime(String baseCode) ;
    /**
     * F C锁 开锁指令 step1
     * @return
     */
    Map<String,String> openLockStep1(String baseCode);
    
    /**
     * F C锁 开锁指令 step2
     * @return
     */
    Map<String,String> openLockStep2(String baseCode,String randomN,String subType);
    
    /**
     * * 查询电量
     * @return
     */
    Map<String,String> selectPower() ;
    /**
    *  * 查询绑定状态
     * @return
     */
    Map<String,String> selectBindLockStatus() ;

    /**
   *  * 读NBimei
     * @return
     */
    Map<String,String> readNbImei();
    /**
   *   * 读取开锁记录条数
     * @return
     */
    Map<String,String> readLockEventCount();
    
    /**
     * * 读取开锁记录
     * @return
     */
    Map<String,String> readLockEventAtIndex(Integer index);
    
    
    /**
     * * 读取开锁记录条数
     * @return
     */
    Map<String,String> clearLockEvents();
    /**
     * * 离线密码
     * @return
     */
    Map<String,String> offonlinePwd(String time,String baseCode,Integer flag);
    
    Map<String,String> returnMap(String data);
    
    Map<String,String> initCard(String busNum,String mac,String cardCluster );
    
    Map<String,String> getBaseCode();
    
    Map<String,String> connectNetwork(String ssid,String password);

}
